package com.easylinkin.linkappapi.weather.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.util.List;

/**
 * 和风天气API响应DTO
 */
@Data
public class WeatherResponseDTO {
    
    /**
     * API状态码
     */
    private String code;
    
    /**
     * 最近更新时间
     */
    private String updateTime;
    
    /**
     * 响应式页面，便于嵌入网站或应用
     */
    private String fxLink;
    
    /**
     * 实时天气数据
     */
    private NowWeather now;
    
    /**
     * 数据来源
     */
    private ReferInfo refer;
    
    /**
     * 实时天气数据
     */
    @Data
    public static class NowWeather {
        /**
         * 数据观测时间
         */
        private String obsTime;
        
        /**
         * 温度，默认单位：摄氏度
         */
        private String temp;
        
        /**
         * 体感温度，默认单位：摄氏度
         */
        private String feelsLike;
        
        /**
         * 天气状况的图标代码
         */
        private String icon;
        
        /**
         * 天气状况的文字描述
         */
        private String text;
        
        /**
         * 风向360角度
         */
        private String wind360;
        
        /**
         * 风向
         */
        private String windDir;
        
        /**
         * 风力等级
         */
        private String windScale;
        
        /**
         * 风速，公里/小时
         */
        private String windSpeed;
        
        /**
         * 相对湿度，百分比数值
         */
        private String humidity;
        
        /**
         * 当前小时累计降水量，默认单位：毫米
         */
        private String precip;
        
        /**
         * 大气压强，默认单位：百帕
         */
        private String pressure;
        
        /**
         * 能见度，默认单位：公里
         */
        private String vis;
        
        /**
         * 云量，百分比数值
         */
        private String cloud;
        
        /**
         * 露点温度
         */
        private String dew;
    }
    
    /**
     * 数据来源信息
     */
    @Data
    public static class ReferInfo {
        /**
         * 数据来源
         */
        private List<String> sources;
        
        /**
         * 许可信息
         */
        private List<String> license;
    }
} 